package com.aizuda.boot.modules.business.contract.entity.vo;

import com.aizuda.boot.modules.common.constant.enums.EmptyAssigneeEnum;
import com.aizuda.boot.modules.common.constant.enums.RepeatAssigneeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @Author sangyirong
 * @ClassName WorkflowShowDTO
 * @Version 1.0
 * @Date 2025/6/5 16:04
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "合同流程信息")
public class WorkflowShowDTO {

    @Schema(description = "流程ID")
    private Long id;

    @Schema(description = "流程名称")
    private String workflowName;

    @Schema(description = "合同流程范围,合同id，多个用','分隔")
    private List<Integer> scope;

    @Schema(description = "空审批人策略")
    private EmptyAssigneeEnum emptyState;

    @Schema(description = "指定用户时用户id")
    private List<Long> userId;

    @Schema(description = "重复审批人策略")
    private RepeatAssigneeEnum repeatState;

    @Schema(description = "指定跳过节点时，节点id")
    private List<Integer> nodeId;


    @Schema(description = "适用部门")
    private List<Long> department;

    @Schema(description = "流程定义ID")
    private Long processId;

    @Schema(description = "流程定义Key")
    private String processKey;

    @Schema(description = "流程定义名称")
    private String processName;

    @Schema(description = "优先级")
    private Integer priority;

    @Schema(description = "关联的法人ID")
    private List<Integer> legalIds;

}
